#include<iostream>
#include<cctype>
#include<string>
#include<algorithm>
using namespace std;
int n,m,k;
string s1,s3;
void add(char left,char right)
{
	string s2;
	for(char t = left + 1; t <= right - 1; t++)
	{
		char u = t;
		if(n == 2 && islower(u)) u -= 32;
		else if(n == 3) u = '*';
		for(int i = 0; i < m; i++)
		{
			s2 += u;
		}
	}
	if(k == 2) reverse(s2.begin(),s2.end());
	s3 += s2;
}
int main(){
	cin >> n >> m >> k >> s1;
	int len = s1.size();
	for(int i = 0; i < len; i++)
	{
		if(s1[i] != '-' || i == 0 || i == len - 1)
		{
			s3 += s1[i];
		}
		else 
		{
			char left = s1[i-1];char right = s1[i+1];
			if(islower(left) && islower(right) && right > left ||
			   isdigit(left) && isdigit(right) && right > left)
			{
				add(left,right);
			}
			else s3 += s1[i];
		}
	}
	cout << s3;
	return 0;
}
//#include<iostream>
//#include<string>
//#include<cctype>
//#include<algorithm>
//using namespace std;
//int n,m,k;
//string s1,s2,s3;
//void add(char ch1,char ch2)
//{
//	for(char i = ch1+1; i <= ch2-1; i++)
//	{
//		char j = i;
//		if(n == 1)
//		{
//			s3 += j;
//		}
//		else if(n == 2)
//		{
//			j -= 32;
//			s3 += j;
//		}
//		else if(n == 3)
//		{
//			j = '*';
//			s3 += j;
//		}
//		for(int p = 1; p < m; p++)
//		{
//			s3 += j;
//		}
//	}
//	if(k == 2) reverse(s3.begin(),s3.end());
//}
//int main()
//{
//	int k; cin >> n >> m >> k >> s1;
//	for(int i = 0 ; i < s1.size(); i++)
//	{
//		if(s1[i]!= '-' || i == 0 || i == s1.size() - 1)
//		{
//			s3 += s1[i];
//		}
//		else if(s1[i] == '-')
//		{
//			if((islower(s1[i-1]) && islower(s1[i+1]) && s1[i+1] > s1[i-1]) || (isdigit(s1[i-1]) && isdigit(s1[i+1]) && s1[i+1] > s1[i-1]))
//			{
//				add(s1[i-1],s1[i+1]);
//			}
//			else s3 += s1[i];
//		}
//	}
//	cout << s3;
//	return 0;
//}
